perm filename TBOX.OLD[CMS,LCS] blob
sn#437671 filedate 1979-08-30 generic text, type T, neo UTF8
00100 TITLE TBOX
00200 .INSERT MAC748.FAI[CMS,LCS]
00300
00400 ;Ram bank 0 registers.
00500 K ← 0
00600 I ← 1
00700 N ← 2
00800 T ← 3 ;Timer overflow count.
00900 CMD ← 4 ;TBOX and JS led bits.
01000 CMD1 ← 5 ;Alfa led message index.
01100 OFFL ← 6 ;Alfa off timer low.
01200 OFFH ← 7 ;High.
01300
01400 ;Ram10-27 = Stack.
01500 ;Ram bank 1 registers.
01600 P ← 30 ;Pots pointer.
01700 O ← 31 ;Offset pointer.
01800 X ← 32
01900 Y ← 33
02000 Z ← 34
02100 SW0 ← 35 ;TBOX switch bits.
02200 SW1 ← 36
02300 SW2 ← 37
02400
02500 ;Standard ram.
02600 SPD ← 40 ;Speed pot.
02700 P0 ← 41 ;Joy stick pots.
02800 P1 ← 42
02900 P2 ← 43
03000 P3 ← 44
03100 JW0 ← 45 ;T. Joy stick switch channels.
03200 JW1 ← 46 ;P/O.
03300 JW2 ← 47 ;TOOL.
03400 JW3 ← 50 ;T/JS/C.
03500
03600 OSPD ← 51 ;Old speed pot.
03700 OP0 ← 52 ;Joy stick offsets.
03800 OP1 ← 53
03900 OP2 ← 54
04000 OP3 ← 55
04100 OJSW ← 56 ;Old joy stick switch bits.
04200 OCMD ← 57 ;Old led bits.
04300 OCMD1 ← 60 ;Old alfa led index.
04400
04500 JSC ← 61 ;Joy stick not calib. flag.
04600
04700 XTAL ← =6000000 ;In hertz.
04800 BRATE ← =9600 ;Baud rate
04900
05000 ;TBIT ← ((=10000000/BRATE)/((=10000000/XTAL)*=15))/2
05100 TBIT ← =21
05200
05300 TT ← 1 ;Triple throw switch port.
05400 S ← 2 ;Scan and A/D port.
05500 PBL ← 4 ;Push button port low.
05600 PBH ← 5 ;Push button port high.
05700 CEW ← 6 ;Alfa led chip enables and write port.
05800 JS ← 7 ;Joy stick, CU, and led latch port.
00100 ;Reset and interrupt vectors.
00200 JMP RST ;RESET VECTOR
00300 0
00400 DISXI ;EXTERNAL INTERRUPT VECTOR
00500 NOP
00600 NOP
00700 NOP
00800 DISTI ;TIMER INT VECTOR
00900 RETR
01000
01100 ;Power on reset.
01200 RST: CLRA ;0 For clear cursor memory.
01300 OUTB ;Latch bus output.
01400 MOVI 377 ;SETUP INPUT PORTS
01500 OUTP TT ;SPTT switches.
01600 MOVI 77 ;P4-7, SCAN, STRT, ALE.
01700 OUTP S
01800 ;Setup PBSW ports for input.
01900 MOVAX PBL ;PBSW low.
02000 MOVAX PBH ;PBSW high.
02100
02200 ;Clear cursor memory.
02300 MOVI 170 ;7,,10.
02400 MOVAX CEW ;Enable all alfa leds.
02500 SWAP ;A ← 207.
02600 MOVAX JS ;Clear JS and CU.
02700 ;Write all alfa leds.
02800 ANPA CEW ;NOT W
02900 CPLA
03000 ORPA CEW ;W
03100
03200 SWAP ;A ← 10,,7.
03300 ORPA CEW ;Disable all alfa leds.
03400 SWAP ;A0-3 ← 10.
03500 ORPA JS ;NOT CU.
03600
03700 CALL CLED ;Clear leds.
03800 CALL CALED ;Clear alfa leds.
03900 JINT CLRJSL ;Check if joy stick.
04000 JMP STIMER
04100 CLRJSL: MOVRI N,4 ;Joy stick not cal. bit.
04200 CALL CJLED ;Init joy stick leds.
04300 STIMER: MOVAT ;Setup timer.
04400 STRTT
04500
04600 CPLF1 ;Set alfa leds off.
04700 MOVRI K,JSC
04800 MOVMI K,4 ;Set joy stick not calib.
04900
05000 JMP SETFLG
05100
05200 ; Set scan flag and timer
05300 UPFLG: DJNZ T,CKIN
05400 SETFLG: MOVRI T,4 ;4 = 82 ms.
05500 CLRF0 ;Set scan flag
05600
05700 JF1S CKIN ;Check if alfa off.
05800 DJNZ OFFL,CKIN ;OFFW ← OFFW - 1.
05900 DJNZ OFFH,CKIN
06000 CPLF1 ;Set alfa led off flag.
00100 ;INPUT WAIT. Check upflg time?
00200 OFFSET ← TBIT/3 ;Center delay?
00300 INWAI: JTF UPFLG ;Check if timer time out.
00400
00500 CKIN: JT0H INWAI ;Check for start bit.
00600
00700 MOVRI K,OFFSET-4 ;Center - Itime.
00800 CENTER: DJNZ K,CENTER ;Wait for center of bit
00900 JT0H INWAI ;Check if valid start bit
01000
01100 ; Byte input routine
01200 MOVRI N,11 ;# of bits -1
01300
01400 ILOOP: MOVRI K,TBIT-5;tBIT - tI
01500 WAI: DJNZ K,WAI
01600 CLRC
01700 JT0H BITON
01800 RORC
01900 JMP BITOFF
02000 BITON: CPLC
02100 RORC
02200 NOP
02300
02400 BITOFF: DJNZ N,ILOOP
02500
02600 ROLC ;Shift out stop bit
02700 JCC INWAI ;Check for good stop bit.
02800
02900 JBS 7,BYTE1 ;Check if first or second byte.
03000
03100 MOVAR CMD ;Save first input byte.
03200 JMP INWAI ;Get next byte.
03300
03400 BYTE1: MOVAR CMD1 ;Save second byte.
03500
03600 CLRA ;SPD default.
03700 JT1H ADZRO ;Speed off.
03800
03900 ;A/DCHAN ← SPEED.
04000 OUTB ;Latch zero on bus.
04100 ORPI S,200 ;ALE.
04200 ANPI S,177 ;NOT ALE.
04300
04400 CALL CONVRT ;Wait for speed.
04500
04600 JNZ ADZRO ;Check if on and zero.
04700 INCA ;A ← 1.
04800
04900 ADZRO: MOVRI K,SPD ;Save speed pot value.
05000 MOVAM K
00100 CALL CLED ;Clear cal. and mode leds.
00200 MOVRA CMD ;Get mode code.
00300 RORC ;Get cal. bit.
00400 ANI 7 ;Zero data input to LS259.
00500 CALL WLED ;Write mode led.
00600
00700 JCC CKJOY ;No calib. bit.
00800 CLRA ;Led 0.
00900 CALL WLED ;Write cal. led.
01000
01100 CKJOY: JINT GPOTS ;Check for joy stick.
01200 MOVRI K,JSC
01300 MOVMI K,4 ;JSC ← 1.
01400 JMP CKSCAN
01500
01600 GPOTS: MOVRA CMD ;Setup JS led bits.
01700 SWAP ;Get JS led bits.
01800 ANI 3 ;2 JS led bits.
01900 MOVRI K,JSC
02000 ORM K ;A ← A .OR. JSC.
02100 CALL WJLED ;Write JS led bits.
02200
02300 ;A/D convert routines.
02400 MOVI 1 ;Chanel 1.
02500 OUTB ;Latch bus output.
02600 ORPI S,200 ;ALE
02700 ANPI S,177 ;NOT ALE.
02800
02900 MOVI 375 ;NOT CLR bit.
03000 ANPA JS ;NOT CLR.
03100 CPLA
03200 ORPA JS ;CLR.
03300 MOVRI P,P0 ;JS pot index.
03400 MOVRI N,10 ;# of pots + switch channels.
03500
03600 ADLOOP: CALL CONVRT ;Wait for A/D.
03700 MOVAM P ;Ram(p) ← Pots&sws(p).
03800
03900 MOVI 376
04000 ANPA JS ;NOT CNT.
04100 CPLA
04200 ORPA JS ;CNT
04300
04400 INCR P ;Next pot.
04500 DJNZ N,ADLOOP ;Next channel.
04600
04700 ;Check for scan flag.
04800 CKSCAN: JF0S CKJSC ;Scan flag.
04900
05000 JMP SCAN ;Scan switches.
00100 CKJSC: MOVRI K,JSC
00200 MOVMA K ;A ← JSC.
00300 JBS 2,ZPOTS ;Check if JS not calib.
00400
00500 MOVRI P,P0 ;Pots pointer.
00600 MOVRI O,OP0 ;Offset pointer.
00700 MOVRI N,4 ;# of pots.
00800
00900 OFFSL: MOVMA P ;Get pot.
01000 CPLA
01100 ADDM O ;Subtract offset.
01200 CPLA
01300 MOVAM P ;Save pot.
01400
01500 INCR P
01600 INCR O
01700 DJNZ N,OFFSL
01800 JMP CKACT
01900
02000 ZPOTS: CLRA
02100 MOVRI P,P0
02200 MOVRI N,4 ;# of pots.
02300 ZPL: MOVAM P ;Ram(Pots) ← 0.
02400 INCR P
02500 DJNZ N,ZPL
02600
02700 ;Activity check.
02800 CKACT: MOVRI K,OCMD
02900 MOVMA K
03000 XORR CMD ;A ← CMD .XOR. OCMD.
03100 JNZ ACT
03200 MOVRI K,OCMD1 ;Old alfa index.
03300 MOVMA K
03400 XORR CMD1
03500 JNZ ACT
03600
03700 SRB1 ;Select ram bank 1.
03800 MOVRA SW0
03900 JNZ RACT
04000 MOVRA SW1
04100 JNZ RACT
04200 MOVRA SW2
04300 ANI 77 ;Mask out JS and P/O bits.
04400 JNZ RACT
04500
04600 MOVRI P,SPD ;Now pot index.
04700 MOVRI O,OSPD ;Old pot index.
04800 MOVMA P ;Check speed.
04900 XORM O
05000 ANI 374 ;Stablize.
05100 JZ CKJP
05200
05300 RACT: SRB0 ;Select ram bank 0.
05400 ACT: JMP ACTIVE
00100 CKJP: MOVRI N,4
00200 JSZCK: INCR P
00300 MOVMA P
00400 ANI 374 ;Stablize.
00500 JNZ RACT ;Check if JS pots are zero.
00600 DJNZ N,JSZCK
00700
00800 SRB0 ;Select ram bank 0.
00900 ;Page boundry.
01000 CLRA ;Blank message index.
01100 JF1S ADPY ;Check if alfa off.
01200 JMP OBITS ;Not active.
01300
01400 RSTRAM: SRB0 ;Select ram bank 0.
01500 ACTIVE: MOVRA CMD ;OLD ← NEW.
01600 MOVRI K,OCMD
01700 MOVAM K ;OCMD.
01800 MOVRA CMD1
01900 INCR K
02000 MOVAM K ;OCMD1.
02100
02200 MOVRI P,SPD
02300 MOVRI O,OSPD
02400 MOVMA P ;A ← SPD.
02500 MOVAM O ;OSPD ← A.
02600
02700 CLRF1 ;Alfa led off flag ← 0.
02800 MOVRI OFFH,10 ;OFFW ← tOWAIT.
02900
03000 MOVRA CMD1 ;Update alfa leds.
03100 XORI 233 ;Check if COMP MODE.
03200 JZ CMODE
03300 MOVRA CMD1
03400 SWAP ;Shift etc.
03500 ANI 360 ;For 16 messages.
03600 ADPY: CALL OALFA ;Output message.
03700
03800 OBITS: MOVRI CMD1,0 ;Init check sum.
03900 MOVRI I,SW0 ;Point to out bytes.
04000 MOVRI CMD,10 ;# of output bytes.
04100
04200 OUTL: MOVMA I ;Get output byte.
04300 CALL OBYTE
04400 ADR CMD1 ;Add it to cksum.
04500 MOVAR CMD1
04600
04700 INCR I
04800 DJNZ CMD,OUTL
04900
05000 MOVRA CMD1
05100 CPLA
05200 INCA
05300 CALL OBYTE ;Output check sum.
05400
05500 JMP INWAI ;Loop back to input wait.
05600
05700 CMODE: DECA ;A ← 377.
05800 JNZ ADPY ;Jump.
00100 ; Output Acc. to SI/O line
00200 OBYTE: MOVRI K,11 ;# of bits -1
00300 CLRC
00400 ROLC ;Start bit
00500 OLOOP: OUTP TT ;Output bit
00600 RORC
00700 MOVRI N,TBIT-3 ;TBIT - Itime.
00800
00900 OWAIT: DJNZ N,OWAIT
01000 DJNZ K,OLOOP
01100
01200 ORPI TT,377 ;Stop bit.
01300 MOVRI N,TBIT-10 ;TBIT - Itime.
01400 SWAIT: DJNZ N,SWAIT
01500 RORC
01600 RET
01700
01800 WLED: OUTB ;Latch A on bus.
01900 MOVI 7 ;NOT led E bit.
02000 ANPA JS ;NOT E.
02100 CPLA
02200 ORPA JS ;E.
02300
02400 RET
02500
02600 ;Clear leds
02700 CLED: MOVRI N,370
02800 MOVRA N ;Setup regs.
02900 CLRL: CALL WLED ;Clear led loop.
03000 INCR N ;Next led.
03100 MOVRA N
03200 JNZ CLRL
03300
03400 RET
03500
03600 ;Convert channel and wait.
03700 CONVRT: ORPI S,100 ;STRT.
03800 ANPI S,277 ;NOT STRT.
03900
04000 MOVI =22 ;=172 micro seconds?
04100 CONL: DECA ;Convert wait.
04200 JNZ CONL
04300 MOVXMA K ;Get A/D output.
04400 MOVXMA K ;Twice for bus unlatch.
04500 OUTB ;Latch bus for output.
04600 RET
04700
04800 ;Alfa led output routines.
04900 CALED: CLRA ;Blank string index.
05000
05100 OALFA: MOVRI CMD1,0 ;Clear blank flag.
05200 JNZ SAVI ;Check for blank.
05300 DJNZ CMD1,GETCE ;Jump.
05400 SAVI: JBS 3,GETCM ;Check for COMP MODE.
05500 MOVAR I ;Save string index.
05600 GETCE: MOVI 376 ;NOT CE0.
05700
05800 CENBL: MOVRI N,4 ;# of chrs in package.
05900 MOVAR K ;Save CE.
06000 MOVAX CEW ;NOT CE.
00100 CHRL: MOVRA CMD1 ;Check blank flag.
00200 JNZ BLANK
00300 MOVRA I
00400 MOVP3 ;A ← String(chr).
00500 OUTALF: OUTB ;Latch bus output.
00600
00700 MOVI 367
00800 ANPA CEW ;NOT W.
00900 CPLA
01000 ORPA CEW ;W
01100
01200 INCR I ;CHR ← CHR+1.
01300 DJNZ N,CHRL
01400
01500 MOVRA K
01600 ROL ;Next CE.
01700 JBS 3,CENBL
01800
01900 ORPA CEW ;CE.
02000 RET
02100
02200 GETCM: CLRA ;Point to COMP MODE message.
02300 JZ GETCE ;Jump.
02400
02500 BLANK: MOVRA N ;Get chr. address.
02600 ROR
02700 ROR
02800 ORI 40 ;ASCII <space>.
02900 JNZ OUTALF ;Jump.
03000
03100 WJLED: MOVAR N ;Save JS led bits.
03200 CJLED: MOVI 355 ;NOT CNT,,CLR.
03300 ANPA JS ;NOT CLR.
03400 CPLA
03500 ORPA JS ;CLR.
03600 SWAP ;A ← 2,,1.
03700
03800 INCR N ;Fix for latch.
03900 JMP CKZRO
04000
04100 CJL: CPLA ;A ← 15,,16.
04200 ANPA JS ;NOT CNT.
04300 CPLA
04400 ORPA JS ;CNT
04500 CKZRO: DJNZ N,CJL
04600
04700 MOVI 373
04800 ANPA JS ;NOT LAT.
04900 CPLA
05000 ORPA JS ;LAT.
05100
05200 RET
00100 ; Bit spreading table
00200 LOC 1000 ;1000 = Start of page two.
00300 125 ↔ 124 ↔ 121 ↔ 120 ↔ 105 ↔ 104 ↔ 101 ↔ 100
00400 25 ↔ 24 ↔ 21 ↔ 20 ↔ 5 ↔ 4 ↔ 1 ↔ 0
00500 SBITS ← 60 ;Scan bits.
00600 ROW0 ← 357 ;Scan row 0.
00700 ROW1 ← 337 ;Scan row 1.
00800
00900 SCAN: SRB1 ;Select ram bank 1.
01000 CPLF0 ;Reset scan flag.
01100 ORPI S,SBITS ;Turn off rows
01200 ANPI S,ROW0 ;Enable row 0.
01300 INP TT ;Scan row 0
01400 MOVAR SW0 ;Save it
01500 ANI 17 ;Get low nibble
01600 MOVPD ;Get bits from spread table
01700 XCHR SW0
01800 SWAP ;Swap high low nibbles
01900 ANI 17 ;Get high nibble
02000 MOVPD
02100 MOVAR SW1
02200
02300 ORPI S,SBITS ;Turn off row 0.
02400 ANPI S,ROW1 ;Enable row 1.
02500 INP TT ;Scan row 1
02600 ORPI S,SBITS ;Disable scan.
02700 MOVAR SW2 ;Save row 1
02800 ANI 17 ;Low nibble
02900 MOVPD
03000 ROL ;Shift + bits
03100 ORR SW0 ;Or into - bits
03200 ANI 374 ;Clear teach and off bits.
03300 MOVAR SW0
03400 MOVRA SW2 ;Get row 1 again
03500 SWAP
03600 ANI 17
03700 MOVPD
03800 ROL
03900 ORR SW1
04000 MOVAR SW1
04100
04200 MOVXA PBL ;Get push buttons.
04300 MOVAR SW2 ;Save low nibble.
04400 MOVXA PBH
04500 SWAP ;High nibble.
04600 ORR SW2
04700
04800 CPLA
04900 MOVAR SW2
05000 ANI 77 ;Zero JS and P/O bits.
05100 XCHR SW2
05200 ROLC ;Shift & swap teach & off bits
05300 ROL
05400 ROLC
05500 ANI 3
05600 ORR SW0
05700 MOVAR SW0
05800
05900 JINT GETJSW ;Check if joy stick.
06000 SRB0 ;Select ram bank 0.
06100 JMP ZPOTS ;No joy stick.
00100 GETJSW: MOVRI K,JW1
00200 MOVMA K ;A ← P/O.
00300 ANI 100 ;Get P/O bit.
00400 ORR SW2
00500 MOVAR SW2 ;SW2 ← P/O .OR. PBSWs.
00600 MOVRI K,JW3
00700 MOVMA K ;Joy stick T/JS/C bits.
00800 ANI 300
00900 JZ SETOFF ;Calib. joy stick.
01000
01100 JBS 6,SETJT
01200 MOVI 100
01300 SETJT: XORI 300 ;Complement J/T bit.
01400 ORR SW2 ;OR into SW2.
01500 MOVAR SW2
01600
01700 JBS 7,GTOOL ;Check for JS mode.
01800 SRB0 ;Select ram bank 0.
01900 JMP CKJSC
02000
02100 GTOOL: MOVRI K,JW0 ;Check JS switch bits.
02200 MOVMA K ;Get JS teach switch.
02300 ROLC
02400 MOVRA SW0
02500 ROR
02600 ROLC ;Shift teach bit into SW0.
02700 MOVAR SW0
02800
02900 MOVRI K,JW2
03000 MOVMA K ;Get JS tool bits.
03100 ANI 300
03200 JNZ TPLUS ;Check for T-.
03300
03400 MOVI 100 ;T- bit.
03500 STOOL: XCHR SW1
03600 ANI 77 ;Zero TBOX tool bits.
03700 ORR SW1 ;SW1 ← SW1 .OR. JSTOOLBITS.
03800 MOVAR SW1
03900 SRB0 ;Select ram bank 0.
04000 JMP CKJSC
04100
04200 TPLUS: JBS 6,SETTP ;Check for no tool bits.
04300 CLRA
04400 SETTP: ANI 200
04500 JMP STOOL ;OR Tbits into SW1.
04600
04700 SETOFF: MOVRI P,P0 ;Pots pointer.
04800 MOVRI O,OP0 ;Offset pointer.
04900 MOVRI N,4 ;# of pots.
05000 SETL: MOVMA P ;A ← POT(P).
05100 MOVAM O ;OFFSET(O) ← A.
05200 INCR P
05300 INCR O
05400 DJNZ N,SETL
05500
05600 MOVRI K,JSC
05700 MOVMI K,0 ;JSC ← 0.
05800 MOVI 200
05900 ORR SW2 ;Set JS/T bit.
06000 MOVAR SW2
06100 JMP GTOOL
00100 ;Alfa led message table.
00200 LOC 1400 ;Start of page three.
00300
00400 ("C"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("M"∧77)∨100
00500 "P"∧77 ↔ (" "∧77)∨300 ↔ ("M"∧77)∨200
00600 ("O"∧77)∨100 ↔ "D"∧77 ↔ ("E"∧77)∨300
00700 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
00800 0 ↔ 0 ↔ 0 ↔ 0
00900
01000 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
01100 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
01200 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
01300 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "1"∧77
01400 0 ↔ 0 ↔ 0 ↔ 0
01500
01600 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
01700 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
01800 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
01900 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "2"∧77
02000 0 ↔ 0 ↔ 0 ↔ 0
02100
02200 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
02300 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
02400 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
02500 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "3"∧77
02600 0 ↔ 0 ↔ 0 ↔ 0
02700
02800 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
02900 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
03000 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
03100 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "4"∧77
03200 0 ↔ 0 ↔ 0 ↔ 0
03300
03400 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
03500 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
03600 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
03700 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "5"∧77
03800 0 ↔ 0 ↔ 0 ↔ 0
03900
04000 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
04100 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
04200 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
04300 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "6"∧77
04400 0 ↔ 0 ↔ 0 ↔ 0
04500
04600 ("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
04700 "I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
04800 ("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
04900 ("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "7"∧77
05000 0 ↔ 0 ↔ 0 ↔ 0
00100 ("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
00200 " "∧77 ↔ ("C"∧77)∨300 ↔ ("L"∧77)∨200
00300 ("O"∧77)∨100 ↔ "S"∧77 ↔ ("E"∧77)∨300
00400 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
00500 0 ↔ 0 ↔ 0 ↔ 0
00600
00700 ("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
00800 " "∧77 ↔ ("F"∧77)∨300 ↔ ("A"∧77)∨200
00900 ("R"∧77)∨100 ↔ " "∧77 ↔ (" "∧77)∨300
01000 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
01100 0 ↔ 0 ↔ 0 ↔ 0
01200
01300 ("T"∧77)∨300 ↔ ("E"∧77)∨200 ↔ ("A"∧77)∨100
01400 "C"∧77 ↔ ("H"∧77)∨300 ↔ (" "∧77)∨200
01500 ("M"∧77)∨100 ↔ "O"∧77 ↔ ("D"∧77)∨300
01600 ("E"∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
01700 0 ↔ 0 ↔ 0 ↔ 0
01800
01900 ("M"∧77)∨300 ↔ ("A"∧77)∨200 ↔ ("N"∧77)∨100
02000 "U"∧77 ↔ ("A"∧77)∨300 ↔ ("L"∧77)∨200
02100 (" "∧77)∨100 ↔ "M"∧77 ↔ ("O"∧77)∨300
02200 ("D"∧77)∨200 ↔ ("E"∧77)∨100 ↔ " "∧77
02300 0 ↔ 0 ↔ 0 ↔ 0
02400
02500 ("N"∧77)∨300 ↔ ("O"∧77)∨200 ↔ (" "∧77)∨100
02600 "H"∧77 ↔ ("I"∧77)∨300 ↔ ("G"∧77)∨200
02700 ("H"∧77)∨100 ↔ " "∧77 ↔ ("P"∧77)∨300
02800 ("W"∧77)∨200 ↔ ("R"∧77)∨100 ↔ " "∧77
02900 0 ↔ 0 ↔ 0 ↔ 0
03000
03100 ("P"∧77)∨300 ↔ ("R"∧77)∨200 ↔ ("O"∧77)∨100
03200 "G"∧77 ↔ (" "∧77)∨300 ↔ ("R"∧77)∨200
03300 ("U"∧77)∨100 ↔ "N"∧77 ↔ ("N"∧77)∨300
03400 ("I"∧77)∨200 ↔ ("N"∧77)∨100 ↔ "G"∧77
03500 0 ↔ 0 ↔ 0 ↔ 0
03600
03700 ("R"∧77)∨300 ↔ ("U"∧77)∨200 ↔ ("N"∧77)∨100
03800 " "∧77 ↔ ("H"∧77)∨300 ↔ ("O"∧77)∨200
03900 ("L"∧77)∨100 ↔ "D"∧77 ↔ (" "∧77)∨300
04000 (" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
04100 0 ↔ 0 ↔ 0 ↔ 0
04200
04300 ("F"∧77)∨300 ↔ ("A"∧77)∨200 ↔ ("T"∧77)∨100
04400 "A"∧77 ↔ ("L"∧77)∨300 ↔ (" "∧77)∨200
04500 ("E"∧77)∨100 ↔ "R"∧77 ↔ ("R"∧77)∨300
04600 ("O"∧77)∨200 ↔ ("R"∧77)∨100 ↔ " "∧77
04700 0 ↔ 0 ↔ 0 ↔ 0
04800
04900 LOC 2272
05000 0 ;This is for a block of zeros
05100 END